1. Field of the Invention
The present invention relates to a pointing device, and more particularly, to a method for calculating a motion value by sensing motion variation of an object and an apparatus for tracking a movement position of the object according to the motion value.
2. Description of the Related Art
In general, types of pointing devices include optical pointing devices, mechanical pointing devices, human interface devices using the human body, etc. A representative example of an optical pointing device is an optical mouse, a representative example of a mechanical pointing device is a ball mouse, and a representative example of a human interface device is a touch screen.
In the optical mouse, light radiated from a light source is reflected from an object and sensed by an image sensor. Images of the object are configured with detection data. The images configured in time bands are compared. A direction and distance of movement are computed by tracking the movement of the object.
In the ball mouse, a direction and distance of movement are computed from a rotation distance and direction of a rotated ball.
A (resistive) touch screen detects a position when finger pressure is applied by installing a sensor line sensitive to pressure on a screen surface, and computes a movement direction and distance by tracking a movement path.
FIG. 1 is a block diagram showing an example of a conventional optical pointing device using an image sensor. An object 10, an optical pointing device 11, and a control device 21 are shown in FIG. 1. The optical pointing device 11 includes a sensor 13, a motion value calculator 14, and an interface 15. The control device 21 includes an interface 22, an application program unit 23, and an output unit 24.
An operation of the conventional optical pointing device using the image sensor of FIG. 1 will be described.
The sensor 13 generates an analog signal based on an amount of light by receiving the light reflected from the object 10 using an image sensor (not shown).
The motion value calculator 14 includes an analog-to-digital (A/D) converter (not shown), an input frame memory (not shown), a reference frame memory (not shown), and an image processor (not shown).
The A/D converter converts an analog signal received from the sensor 13 into a digital signal. The input frame memory stores the digital signal output from the A/D converter. The reference frame memory stores previous frame data before current frame data. The image processor computes and outputs a motion value Vg by receiving and comparing reference frame data from the reference frame memory and the current frame data from the input frame memory.
The interface 15 of the optical pointing device 11 receives the motion value Vg from the motion value calculator 14 and transmits the received motion value Vg to an external control device (for example, a computer).
The interface 22 of the control device 21 receives the motion value Vg from the optical pointing device 11.
The application program unit 23 receives the motion value Vg from the interface 22 of the control device 21 and directly outputs the motion value Vg to the output unit 24. The application program unit 23 may comprise memory that stores an application program.
The output unit 24 outputs the motion value Vg inputted from the application program unit 23 to a monitor (not shown), such that a user may read the motion value Vg.
FIG. 2A is a diagram for explaining an image mapping method of the motion value calculator 14 of FIG. 1, and shows a method for comparing reference frame data 31 and input frame data 32.
The image mapping method for computing a motion value Vg from an image of an object will be described with reference to FIG. 2A.
The reference frame data 31 is image data one step ahead of the current-step input frame data 32, and is stored in the reference frame memory. Part of the reference frame data 31 is set to mask window data 38. The input frame data 32 serving as image data in the current step is stored in the input frame memory.
The mask window data 38 of the reference frame data 31 is compared with the input frame data 32 in a mask window unit. The mask window data 38 moves pixel by pixel on total input frame data, and is compared with the input frame data to compute a correlation value. That is, a correlation value is computed by comparing the mask window data 38 of the reference frame data 31 with the first region of the input frame data 32. After a one pixel shift, a correlation value is computed by comparing with the second region of the input frame data 32. This process is repeated up to the N-th region of the input frame data 32. A motion value Vg about X and Y axes is generated with respect to a position where the correlation value is greatest, and the motion value Vg is transmitted to the control device 21 via the interface 15.
FIG. 2B shows graphs of operation regions of the conventional optical pointing device. In FIG.2B, a actual motion graph 36 and a motion value graph 37 are shown.
The actual motion graph 36 represents the motion of object as X- and Y-axis displacements in an X-Y coordinate system. The motion value graph 37 represents a motion value computed by sensing an image of the motion of the object using the optical pointing device 11 of FIG. 1 in the X-Y coordinate system.
As shown in the actual motion graph 36 and the motion value graph 37 of FIG. 2B, when a motion value calculating method of the conventional optical pointing device is used, the actual motion of the object is the same as the motion computed by the conventional optical pointing device.
The above-described motion value calculating method may be advantageous in a mouse, one type of pointing device, and may be disadvantageous in a mobile phone using a touch screen, another type of pointing device. For example, when a mobile phone equipped with a touch screen is used, a pointer of the touch screen may be unintentionally shifted by the user's thumb when the mobile phone is held in the hand. To move the pointer on the touch screen of the mobile phone horizontally, the finger in contact with the touch screen should move horizontally, but this is difficult because the finger generally moves on an angle. So, the pointer may not move as intended by the user, and the user's thumb may get tired.